/**
 * tjyx信息表格增、删、改、查公用JS配置文件
 *
 * 时间：2012-3-23
 * @author zhutianjie
 * @version v1.0
 */


/*
 * 模块配置参数,根据特定模块进行配置
 */
var isWindowAdd = true; //是否以窗口信息添加

var tjyxTableTitle = "TJYX信息表格"; //表格标题 
var loadDataURL = ""; //表格数据请求Url
var deleteURI = ""; //删除数据请求URI
var viewURI = ""; //查看数据请求URI
var updateURI = ""; //更新数据请求URI
//表格字段,必须重载
var columnsFields = [
			{field:'ck',checkbox:true},
			{field:'name',title:'Name',width:120},
			{field:'addr',title:'Address',width:220,rowspan:2,sortable:true,
				sorter:function(a,b){
					return (a>b?1:-1);
				}
			},
			{field:'col4',title:'Col41',width:150,rowspan:2},
			{field:'opt',title:'操作',width:200,align:'center', rowspan:1,
				formatter:function(value,rowData,rowIndex){	
					var viewURI = 'userInfo_viewUserInfoById.action?userInfo.id=' + rowData.id;									
					return "<a title='查看详细信息' class='viewInfo' href='javascript:tjyxWindowView(\""+ viewURI + "\")'>【查看】</a> <a title='修改信息' class='updateInfo' href='javascript:tjyxWindowUpdate(\"" + viewURI + "\")'>【修改】</a>";	
				}
			}	
		]

/*
 * 默认系统常量
 */
var isTjyxTablePager = true; //是否分页,默认为true
var isToolBarView = true; //是否需要显示添加、删除按钮
var isPagination = true; //是否支持分页
var tjyxTableIcon = "icon-search"; //标题图标
var tjyxTableWidth = 1070; //表格宽度
var tjyxTableHeight = 500; //表格高度
var tjyxTablePageList = [5,10,15,20,25,30]; //页面最大显示记录条数设置
var isRowNumbers = true; //是否显示行号
var mySortName = "id"; //排序字段名
var mySortOrder = "desc"; //排序设置,"asc"--正序和"desc"--倒序
var myIdField = "id"; //id字段
var isRemoteSort = true; //是否远程排序
var isCollapsible = false; //是否可以收缩
var isNowrap = true; //数据是否在一行显示
var isStriped = true; //显示表格条纹
var myLoadMsg = "处理中,请等待...";

//分页组件,可以重载
var toolbarComponent = [{
		id:'btnadd',
		text:'添加',
		iconCls:'icon-add',
		handler:function(){
			if(isWindowAdd) {
				tjyxWindowAdd();
			} else {
				tjyxAdd();
			}
			
		}
	},'-',{
		id:'btncut',
		text:'删除',
		iconCls:'icon-cut',
		handler:function(){
			tjyxDelete()
		}
	}]
	
/**
 * 页面初始化成功后载入表格
 */
$(document).ready(function() {
	loadPageData(1);
	
	// srts添加信息
	if($('#tjyx_add').length>0){
		$('#tjyx_add').window({
			title : addTitle,
			modal : true,
			width : addWidth,
			height : addHeight,
			shadow : false,
			closed : true,
			minimizable : false,
			maximizable : false,
			collapsible : false,
			iconCls : 'icon-add',
			resizable : false
		});
	}

	// srts查看信息
	if($('#tjyx_view').length>0){
		$('#tjyx_view').window({
			title : viewTitle,
			modal : true,
			width : viewWidth,
			height : viewHeight,
			shadow : false,
			closed : true,
			minimizable : false,
			maximizable : false,
			collapsible : false,
			iconCls : 'icon-search',
			resizable : false
		});
	}

	// srts修改信息
	if($('#tjyx_update').length>0){
		$('#tjyx_update').window({
			title : updateTitle,
			modal : true,
			width : updateWidth,
			height : updateHeight,
			shadow : false,
			closed : true,
			minimizable : false,
			maximizable : false,
			collapsible : false,
			iconCls : 'icon-edit',
			resizable : false
		});
	}
});
		
/**
 * 载入数据
 * @param pageNum 显示的页码
 * 在添加成功后必须调用此方法返回第一页，让用户确定记录已经添加成功
 */
function loadPageData(pageNum) {
	if(!isToolBarView) {
		toolbarComponent = null; //取消添加、删除按钮
	}
	$('#tjyx_table').datagrid({
		title: tjyxTableTitle,
		iconCls: tjyxTableIcon,
		width: tjyxTableWidth,
		height: tjyxTableHeight,
		url:loadDataURL, //加载数据的URL
		pageList: tjyxTablePageList,
		nowrap: isNowrap,
		striped: isStriped,
		collapsible: isCollapsible,
		sortName: mySortName,
		sortOrder: mySortOrder,
		remoteSort: isRemoteSort,
		idField: myIdField,
		rownumbers: isRowNumbers,
		columns:[columnsFields],
		loadMsg: myLoadMsg,
		toolbar: toolbarComponent,
		pagination: isPagination,
		pageNumber: pageNum, //指定当前页面为1
		onLoadSuccess : function(data) {
			setTimeout(function() {
				// 取消各记录行点击事件
				var panel = $('#tjyx_table').datagrid('getPanel');
				var rows = panel.find('tr[datagrid-row-index]');
				rows.unbind('click');
			}, 10);
		}
	});
	$('#tjyx_table').datagrid('hideColumn','id'); //隐藏id字段
	/*
	var p = $('#tjyx_table').datagrid('getPager');
	$(p).pagination({
		onBeforeRefresh:function(){
			alert('before refresh');
		}
	});
	*/
}


/**
 * 以窗口形式添加记录
 */
function tjyxWindowAdd() {
	// 打开添加窗口
	$("#tjyx_add").window('open');
}

/**
 * 以窗口形式查看记录
 */
function tjyxWindowView(viewURI) {
	$.post(viewURI,function(jsonObject){
		initViewWindow(jsonObject);
	},"json");
	$("#tjyx_view").window('open');
}

/**
 * 以窗口形式更新记录
 */
function tjyxWindowUpdate(updateURI) {
	$.post(updateURI,function(jsonObject){
		initUpdateWindow(jsonObject);
	},"json");
	$("#tjyx_update").window('open');
}

/**
 * 数据记录
 */
function tjyxDelete() {
	var rows = $('#tjyx_table').datagrid('getSelections');	
	if(isSelected(rows)){
		$.messager.confirm('删除记录', '您确定要删除已选中的记录?', function(r){ 	
			if(r){				
				var ids = [];
				for(var i=0;i<rows.length;i+=1){		
					ids.push(rows[i].id);	
					var rowIndex = $('#tjyx_table').datagrid('getRowIndex',rows[i]);  					
					//$('#tjyx_table').datagrid('deleteRow',rowIndex);  //删除datagrid中显示的记录				
				}	
				$('#tjyx_table').datagrid('clearSelections'); //清除所有已选择的记录，避免重复提交id值	
				$.get(deleteURI + ids,function(data){
					$.messager.alert('删除成功','成功删除' + data + "条记录！");
					$("#tjyx_table").datagrid("reload");
				});				
			}	
		});		
	}	
}

/**
 * 判断是否选中要删除的记录
 */
function isSelected(rows) {
	if(rows.length > 0){
		return true;
	}else{
		$.messager.alert('删除失败','请先选择记录，再执行删除操作!','error');
		return false;
	}
}

/**
 * 清空表单数据
 * @param form
 */
function clearFormData(form) {
	$(form).find(':input').each(function() {
		switch (this.type) {
		case 'passsword':
		case 'select-multiple':
		case 'select-one':
		case 'text':
		case 'textarea':
			$(this).val('');
			break;
		case 'checkbox':
		case 'radio':
			this.checked = false;
		}
	});
}



